#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

//int main() {
//	printf(" a %d\n",'a');
//	printf(" A %d\n",'A');
//	return 0;
//}

//int compare_string(const void* p1, const void* p2) {
//	return strcmp((char*)p1, (char*)p2);
//}

//int main() {
//	char str1[20] = { 0 };
//	gets(str1);
//	int len = strlen(str1);
//	qsort(str1, len, sizeof(str1[0]),compare_string);
//	puts(str1);
//
//	return 0;
//}
struct S {
	char name[10];
	int age;
}S1 = { "zhang",22 };

int strcmp_name(const void* p1, const void* p2) {
	return strcmp(((struct S*)p2)->name, ((struct S*)p1)->name);
}

int main() {
	struct S S2[3] = { {"zhangs",22},{"wangwu",12},{"lishi",88} };
	int len = sizeof(S2) / sizeof(S2[0]);
	qsort(S2, len, sizeof(S2[0]), strcmp_name);
	for (int i = 0; i < 3; i++) {
		printf("%s\n", S2[i].name);
	}
	 return 0;
}